package com.proyecto.seguridad.modelo.log;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import com.proyecto.core.Utilidades.ObtenerFecha;
import com.proyecto.core.Utilidades.UtilString;
import com.proyecto.seguridad.modelo.dto.Logseguridad;

public class LogguerSeguridad {

	public static void registrarLogArchivoTexto(Logseguridad logseguridad) {

		// String rutaArch = UsuarioPropiedades.RUTA_ARCHIVO_LOG_SEGURIDAD;
		String rutaArch = "c:\\";
		String nombre = rutaArch + "Log_"
				+ ObtenerFecha.ObtenerFechaSistemaSeparadoUnders() + ".log";
		int saltolinea = 13;
		int retorno = 10;
		File archivo = new File(nombre);
		FileOutputStream fos;

		try {
			if (archivo.exists()) {
				fos = new FileOutputStream(archivo, true);
			} else {
				File archivo1 = new File(rutaArch);
				archivo1.mkdirs();
				fos = new FileOutputStream(archivo, false);
				String cabecera = " " + UtilString.completar("FECHA", 18)
				+ UtilString.completar("HORA", 20)
				+ UtilString.completar("USUARIO ", 50)
				+ UtilString.completar("MODULO", 50)
				+ UtilString.completar("SUB-MODULO", 50)
				+ UtilString.completar("OPERACION", 50)
				+ UtilString.completar("REGISTRO", 50);;
				String linea = "==================================================" +
						"==========================================================" +
						"================================" +
						"============================================================" +
						"===============================================================" +
						"====================================";
				fos.write(cabecera.getBytes());
				fos.write(saltolinea);
				fos.write(retorno);
				fos.write(linea.getBytes());
				fos.write(saltolinea);
				fos.write(retorno);
			}

			String reg = " "
					+ UtilString.completar(logseguridad.getId().getFecha(), 18)
					+ UtilString.completar(logseguridad.getId().getHora(), 20)
					+ UtilString.completar(logseguridad.getId()
							.getUsuariocodigo(), 50)
					+ UtilString.completar(logseguridad.getModulo(), 50)
					+ UtilString.completar(logseguridad.getSubmodulo(), 50)
					+ UtilString.completar(logseguridad.getId().getOperacion(), 50)
					+ UtilString.completar(logseguridad.getRegistro(), 50);
			fos.write(reg.getBytes());
			fos.write(saltolinea);
			fos.write(retorno);
			fos.close();
		} catch (FileNotFoundException ex) {
			System.out.println("Error al Escribir Log en texto: '" + ex + "'");
		} catch (IOException ex) {
			System.out.println("Error al Escribir Log en texto: '" + ex + "'");
		}
	}

}
